package com.dq.service.set;

import com.dq.exception.customException.AdminException;
import com.dq.controller.in.OrgCustomerLevelQuery;
import com.dq.controller.in.OrgTimeQuantumQuery;
import com.dq.controller.in.request.OrgHonorWallRequest;
import com.dq.vo.Vo;
import com.dq.domain.org.Org;
import com.dq.domain.org.OrgCustomerLevel;
import com.dq.domain.org.OrgTimeQuantum;
import com.dq.domain.setup.ReturnCommission;

import java.math.BigDecimal;

/**
 * @Author luchangtong
 * @Date 2020/1/2 18:52
 */
public interface OrgSetService {
    Vo setOrgBedNum(Long num) throws AdminException;

    Vo edit(Org orgEdit) throws AdminException;

    Vo addOrgHonorWall(OrgHonorWallRequest orgHonorWallReques, Long staffUserId) throws AdminException;

    Vo editOrgHonorWall(OrgHonorWallRequest orgHonorWallReques,Long staffUserId,Long id) throws AdminException;

    Vo deleteOrgHonorWall(Long id) throws AdminException;

    Vo orgTimeQuantumList(OrgTimeQuantumQuery orgTimeQuantumQuery) throws AdminException;

    Vo editOrgTimeQuantum(OrgTimeQuantum orgTimeQuantumEdit,Long id)throws AdminException;

    Vo addOrgTimeQuantum(OrgTimeQuantum orgTimeQuantum)throws AdminException;

    Vo deleteOrgTimeQuantum(Long id)throws AdminException;

    Vo orgCustomerLevelList(OrgCustomerLevelQuery orgCustomerLevelQuery)throws AdminException;

    Vo addOrgCustomerLevel(OrgCustomerLevel orgCustomerLevel) throws AdminException;

    Vo editOrgCustomerLevel(Long id,OrgCustomerLevel orgCustomerLevelEdit) throws AdminException;

    Vo deleteOrgCustomerLevel(Long id)throws AdminException;

    Vo getIntegalProportion(ReturnCommission.ProportionType proportionType);
    Vo setIntegalProportion(ReturnCommission.ProportionType proportionType, BigDecimal proportion);
}
